The invention relates generally to the presentation of stereo image information on a display for computer systems and, more particularly, to an operating system level windowing system having the capability to render stereo content.
There exist computer applications that present stereo content. These applications use one buffer to hold content intended for the left eye, another buffer to hold content intended for the right eye and a display system (memory and circuitry) to direct content to the appropriate eye from the appropriate buffer. Such applications may present stereo content using the entire display, or within the content area of a window.
Referring to FIG. 1, in one prior art stereo presentation methodology, full-screen stereo application 100 writes to frame buffer 105 and to frame buffer 110, each of which contains the content to be presented to one eye. A mechanism is used in conjunction with frame buffers 105, 110 and display 115 (e.g., stereo shutter glasses or polarization filters) to direct the content from the appropriate buffer to the left or right eye of user 120. One such mechanism uses blue-line technology in which the last scan-line of each frame buffer contains a blue line on black (e.g., 125, 130 and 135). If the first ¼ of the line is blue, the content is intended for the left eye (i.e., from frame buffer 105). If the first ¾ of the line is blue, the content is intended for the right eye (i.e., from frame buffer 110). In practice, the application responsible for generating the stereo display generates a small window (separate from the window used to present stereo content) that it places at the bottom of the display screen with the blue-line in it—e.g., 125 and 130. As such, the computer system's video system generates a video signal with the blue-line information in it. The video signal, in turn, is output to the viewing device (e.g., stereo shutter glasses) which detects this signal and, based on its value, causes the appropriate eye to receive the displayed information. Alternatively, an external hardware device may be used to directly control operation of the viewing device. In this latter embodiment, no blue-line window need be generated by the presenting application.
In prior art embodiments such as shown in FIG. 1, presenting application 100 is required to draw all of the content for both the left and right eye (stereo elements and non-stereo elements) into frame buffers 105 and 110. In addition, because the entire display is used, no other application may display information.
Referring to FIG. 2, in another prior art stereo presentation methodology, applications 200, 205 and 210 write into their respective backing store memories. Non-stereo applications 200 and 205 each write into a single backing store (i.e., 215 and 220), while stereo application 210 writes into two backing stores—one having content intended for the left eye (i.e., 225) and one having content intended for the right eye (i.e., 230). In a system in accordance with FIG. 2, a pair of frame buffers 235 and 240 is used to present stereo content to user 245 via display 250. As shown, non-stereo applications 200 and 205 provide information for the display of non-stereo windows 255 and 260 to each of frame buffers 235 and 240. Stereo application 210, however, provides left-eye content 265 and left-eye blue-line window 270 (via left backing store 225) to left frame buffer 235 and right-eye content 275 and right-eye blue-line window 280 (via backing store 230) to right frame buffer 240. In prior art embodiments such as shown in FIG. 2, the operating system window's system (or server) copies the contents of the various backing stores (e.g., 215-230) to the frame buffers (e.g., 235 and 240) and, as a result, stereo application 210 cannot reliably produce stereo output using blue-line technology because it cannot guarantee that its blue line windows (e.g., 270 and 280) will remain “on top” in display 250 and, therefore, not occluded by another window. (The X11 operating environment is one example of this approach.) If either of non-stereo applications 200 or 205 windows 255 or 260 occlude any part of stereo application 210's blue-line windows 270 and 280, stereo production is lost to user 245.
Thus, it would be beneficial to provide methods and devices that reliably display stereo content information in a windowing environment that also provides for, and accommodates, translucency between all displayed windows (stereo and non-stereo).